/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.tarifador.controller;

import br.com.tarifador.dao.TarifadorDao;
import br.com.tarifador.model.CentroDeCusto;
import br.com.tarifador.model.Departamento;
import br.com.tarifador.model.UsuarioRamal;
import java.util.List;

/**
 *
 * @author charles
 */
public class UsuarioRN {

    private TarifadorDao<UsuarioRamal> dao;
    private UsuarioRamal usuario = new UsuarioRamal();
    private String messagemCount;

    public boolean salvaUsuarioRamal() {
        dao = new TarifadorDao<UsuarioRamal>(UsuarioRamal.class);
        boolean valida = false;
        if (usuario != null) {
            valida = dao.save(usuario);
            countUsuariosRamal();
        }
        return valida;
    }
    public boolean updateUsuarioRamal(UsuarioRamal userRamal) {
        dao = new TarifadorDao<UsuarioRamal>(UsuarioRamal.class);
        boolean valida = false;
        if (usuario != null) {
            usuario.setId(userRamal.getId());
            valida = dao.update(usuario);
        }
        return valida;
    }

    public void limparCampos() {
        this.usuario.setNome("");
        this.usuario.setDescricao("");
    }
    public String countUsuariosRamal() {
        dao = new TarifadorDao<UsuarioRamal>(UsuarioRamal.class);
        Long valor = dao.countAllObject();
        return this.messagemCount = valor.toString() + " usuarios cadastrados.";
    }
    public boolean deletaUsuarioRamal(Long idRamal) {
        dao = new TarifadorDao<UsuarioRamal>(UsuarioRamal.class);
        boolean valida = false;
        if (usuario != null) {
            usuario.setId(idRamal);
            valida = dao.delete(usuario);
            countUsuariosRamal();
        }
        return valida;
    }
   public List<UsuarioRamal> listaUsuarioRamal() {
        dao = new TarifadorDao<UsuarioRamal>(UsuarioRamal.class);
        List<UsuarioRamal> lista = dao.listall();
        return lista;
    }
    public List<Departamento> carregaDepartamento() throws NullPointerException {
        TarifadorDao<Departamento> dao = new TarifadorDao<Departamento>(Departamento.class);
        return dao.listall();
    }
     public List<CentroDeCusto> carregaCcusto() throws NullPointerException {
        TarifadorDao<CentroDeCusto> dao = new TarifadorDao<CentroDeCusto>(CentroDeCusto.class);
        return dao.listall();
    }

    public String sobreUsuario() {
        String texto = "O cadastro de usuarios dos ramais, podem ser dividido por departamento";
        return texto;
    }

    public UsuarioRamal getUsuario() {
        return usuario;
    }

    public void setUsuario(UsuarioRamal usuario) {
        this.usuario = usuario;
    }
    public String getMessagemCount() {
        return messagemCount;
    }

    public void setMessagemCount(String messagemCount) {
        this.messagemCount = messagemCount;
    }

   
    
}
